package com.gxa.pingan.service;

import com.gxa.pingan.exception.BusinessException;
import com.gxa.pingan.pojo.Car;
import com.gxa.pingan.pojo.CarCard;
import com.gxa.pingan.pojo.CarCardVo;
import io.swagger.models.auth.In;

import java.util.List;
import java.util.Map;

/**
 * @Author ChenJin
 * @date 2021/10/27 11:02
 * Description:
 **/
public interface CarCardService {

    /**
     * 修改时，获取车主卡信息
     * @param id 车主卡编号
     * @return
     */
    Map<String,Object> getCarCard(Long id) throws BusinessException;

    /**
     * 添加车主卡
     * @param carCard 车主卡对象
     * @throws BusinessException
     */
    void insert(Map<String,Object> carCard) throws BusinessException;

    /**
     * 修改车主卡信息
     * @param carCard
     * @throws BusinessException
     */
    void update(Map<String,Object> carCard) throws BusinessException;

    /**
     * 获取车主卡总数
     * @return
     * @throws BusinessException
     */
    Integer getListSize() throws BusinessException;

    /**
     * 分页获取车主卡列表
     * @param page 页码
     * @param size 每页长度
     * @return
     * @throws BusinessException
     */
    List<Map<String, Object>> getList(Integer page, Integer size) throws BusinessException;

    /**
     * 不通过车主卡
     * @param id
     * @throws BusinessException
     */
    void noPass(Long id) throws BusinessException;

    /**
     * 删除车主卡
     * @param id
     * @throws BusinessException
     */
    void delete(Long id) throws BusinessException;

    /**
     * 模糊查询车主卡
     * @param value 手机号、姓名的值
     * @param time 时间条件
     * @param page 页码
     * @param size 每页成都
     * @return
     * @throws BusinessException
     */
    List<Map<String, Object>> get(String value, Integer time, Integer page, Integer size) throws BusinessException;

    /**
     * 获取查询出的总数量
     * @param value
     * @param time
     * @return
     * @throws BusinessException
     */
    Integer getSize(String value, Integer time) throws BusinessException;

    /**
     * 导出用户的数据
     * @return
     * @throws BusinessException
     */
    List<CarCardVo> upload()throws BusinessException;



}
